Embedding API dependency graph for neural code generation

نویسندگان

چکیده

The problem of code generation from textual program descriptions has long been viewed as a grand challenge in software engineering. In recent years, many deep learning based approaches have proposed, which can generate sequence description. However, the existing ignore global relationships among API methods, are important for understanding usage APIs. this paper, we propose to model dependencies methods an dependency graph (ADG) and incorporate embedding into sequence-to-sequence (Seq2Seq) model. addition encoder-decoder structure, new module named “embedder” is introduced. way, decoder utilize both structural description predict target code. We conduct extensive experiments on three public datasets two programming languages (Python Java). Our proposed approach, called ADG-Seq2Seq, yields significant improvements over state-of-the-art maintains its performance length increases. Extensive ablation tests show that ADG effective outperforms baselines.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Dependency Graphs Embedding Confluent Graph Grammars

Abstract: Graph grammars have been developed as an extension of the formal grammars on strings to grammars on graphs, and provide a mechanism in which transformations on graphs can be modeled in a mathematically precise way. In this paper, based on confluent graph grammars, the authors present a novel representation for data-flow graphs, control-flow graphs, combined control-data-graphs, bipart...

متن کامل

Source Code to Module Dependency Graph Using Class Dependency Analyzer

-In this demonstration we will show how our tool source code analysis, can be used to recover the highlevel structure of a software system directly from its source code. We accomplish this task by first using a source code analysis system (e.g., CIA, Acacia) to produce a module dependency graph that represents system modules and module-level inter-relationships. Keywords---source code, software...

متن کامل

Hybed: Hyperbolic Neural Graph Embedding

Neural embeddings have been used with great success in Natural Language Processing (NLP). They provide compact representations that encapsulate word similarity and attain state-of-the-art performance in a range of linguistic tasks. The success of neural embeddings has prompted significant amounts of research into applications in domains other than language. One such domain is graph-structured d...

متن کامل

Code Definition Analysis for Call Graph Generation

Enterprise level software is implemented using multi-layer architecture. These layers are often implemented using decoupled solutions with millions of lines of code. Programmers often have to track and debug a function call from user interface layer to the data access layer while troubleshooting an issue. They have to inspect the code based on search results or use design documents to construct...

متن کامل

Dependency-based Convolutional Neural Networks for Sentence Embedding

In sentence modeling and classification, convolutional neural network approaches have recently achieved state-of-the-art results, but all such efforts process word vectors sequentially and neglect long-distance dependencies. To exploit both deep learning and linguistic structures, we propose a tree-based convolutional neural network model which exploit various long-distance relationships betwee...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Empirical Software Engineering

سال: 2021

ISSN: ['1382-3256', '1573-7616']

DOI: https://doi.org/10.1007/s10664-021-09968-2